﻿using BaseDll;
using CommonTools;
using MotionIoLib;

namespace StationDemo
{
    public class Param_Chart
    {
    }
    public class Point_Chart
    {
        public PointInfo 标定起始位 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置1 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置2 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置3 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置4 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置5 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置6 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置7 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置8 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
        public PointInfo 测试位置9 = new PointInfo(0, 0, 0, 0, 0, 0, UserRight.Operator, "综合");
    }

    public class Config_Chart
    {
    }

    public class Station_Chart : CommonTools.StationbaseEx<Param_Chart, Point_Chart, Config_Chart>
    {
        #region 变量

        public Station_Chart(CommonTools.Stationbase station, Param_Chart param, Point_Chart point, Config_Chart config) : base(station, param, point, config)
        {
        }

        public enum StationStep
        {
        }
        #endregion


        #region 主流程
        protected override void StationWork(int step)
        {
        }

        protected override bool InitStation()
        {
            return true;
        }
        #endregion


        #region 方法

        public bool Function_工站回零()
        {
            UserDefineFunction.Axis_回零(AxisZ, "AxisZ", this, true);
            UserDefineFunction.Axis_回零(AxisY, "AxisY", this, true);
            UserDefineFunction.Axis_回零(AxisTy, "AxisTy", this, true);
            UserDefineFunction.Axis_回零(AxisU, "AxisU", this, true);
            return true;
        }

        public bool Function_MovePos(int inx)
        {
            switch (inx)
            {
                case 0:
                    MoveMulitAxisPosWaitInpos(new int[] { AxisZ }, new double[] { station_Point.标定起始位.pointZ }, new double[] { (double)SpeedType.High });
                    break;
                case 1:
                    MoveMulitAxisPosWaitInpos(new int[] { AxisZ }, new double[] { station_Point.测试位置1.pointZ }, new double[] { (double)SpeedType.High });
                    break;
                default:
                    break;
            }
            return true;
        }

        #endregion


    }
}
